home *** CD-ROM | disk | FTP | other *** search
/ Apple II Magazines (DO) / Softdisk Magazette Volume 2, No. 02 (1982-10)(Softdisk)(Side B).zip / Softdisk Magazette Volume 2, No. 02 (1982-10)(Softdisk)(Side B).do / TEXT WINDOW DEMO.bas < prev    next >
BASIC Source File  |  1996-12-24  |  6KB  |  110 lines

  1. 0  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>       <CTRL-M>********************************<CTRL-M>        TEXT WINDOW DEM0<CTRL-M>********************************<CTRL-M>    
  2. 2  ONERR  GOTO 0
  3. 5  TEXT : HOME : SPEED= 255
  4. 8 XX = 1
  5. 10  GOTO 1000
  6. 19  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>        <CTRL-M>********************************<CTRL-M>    TITLE WINDOW SUBROUTINE<CTRL-M>********************************<CTRL-M> 
  7. 20  HOME 
  8. 100  FOR X = 1 TO 25: PRINT "***************************************": NEXT 
  9. 200  POKE 32,12
  10. 210  POKE 33,14
  11. 220  POKE 34,8
  12. 230  POKE 35,15
  13. 300  HOME : VTAB 12: HTAB 3: PRINT "T I T L E"
  14. 400  TEXT : RETURN 
  15. 450  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>         <CTRL-M>********************************<CTRL-M>   SHORT UTILITY SUBROUTINES<CTRL-M>********************************<CTRL-M>    
  16. 500  VTAB 24: INVERSE : PRINT "TYPE ANY KEY TO CONTINUE.";: NORMAL : GET AN$: PRINT : TEXT : HOME : VTAB 2: RETURN 
  17. 700  FOR D = 1 TO 2500: NEXT : RETURN 
  18. 800  VTAB 24: INVERSE : PRINT "TYPE ANY KEY TO CONTINUE.";: NORMAL : GET AN$: PRINT : HOME : RETURN 
  19. 999  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>         <CTRL-M>********************************<CTRL-M>         OPENING TITLE<CTRL-M>********************************<CTRL-M>  
  20. 1000  FOR I = 8 TO 15
  21. 1010  VTAB I: PRINT "             @@@@@@@@@@@@@@": NEXT 
  22. 1020  POKE 32,15
  23. 1030  POKE 33,10
  24. 1040  POKE 34,9
  25. 1050  POKE 35,13
  26. 1060  HOME 
  27. 1070  SPEED= 50
  28. 1080  VTAB 12: PRINT "   TEXT"
  29. 1090  PRINT "  WINDOWS"
  30. 1095  SPEED= 255
  31. 1100  FOR D = 1 TO 3000: NEXT 
  32. 1105  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>          <CTRL-M>********************************<CTRL-M>  EXPLANATION OF TITLE WINDOW<CTRL-M>           SUBROUTINE<CTRL-M>********************************<CTRL-M>  
  33. 1110  TEXT : HOME : VTAB 4
  34. 1120  PRINT "TEXT WINDOWS ARE OFTEN USED IN TITLES."
  35. 1130  GOSUB 500
  36. 1140  GOSUB 20
  37. 1150  GOSUB 500
  38. 1200  PRINT " T E X T  W I N D O W  M A S T H E A D"
  39. 1210  PRINT ">>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<"
  40. 1220  PRINT : PRINT "TEXT WINDOWS CAN ALSO BE USED LIKE THIS:"
  41. 1230  POKE 34,8: HOME 
  42. 1240  LIST 
  43. 1250  GOSUB 700
  44. 1255  POKE 34,4
  45. 1260  HOME 
  46. 1270  PRINT "WAS THAT A LITTLE TOO FAST? LET'S JUST": PRINT 
  47. 1280  PRINT "LIST THE TITLE DEMO PORTION:": GOSUB 700
  48. 1300  LIST 20,410
  49. 1305  VTAB 20: PRINT "---------------------------------------"
  50. 1310  POKE 34,21
  51. 1315  HOME 
  52. 1320  PRINT "LINE 20 JUST     CLEARS THE SCREEN.": GOSUB 800
  53. 1330  PRINT "LINE 100 CREATES THE BACKGROUND.": GOSUB 800
  54. 1340  PRINT "LINE 200 SETS THE LEFT EDGE (0 - 39).": GOSUB 800
  55. 1350  PRINT "LINE 210 SETS THE WINDOW WIDTH (1 - 40)": GOSUB 800
  56. 1360  PRINT "LINE 220 SETS THE WINDOW'S TOP EDGE.": GOSUB 800
  57. 1370  PRINT "LINE 230 SETS THE BOTTOM OF THE WINDOW.": GOSUB 800
  58. 1380  PRINT "IN LINE 300, 'HOME' CLEARS THE WINDOW.": GOSUB 800
  59. 1390  PRINT "'VTAB 12' TABS DOWN 12 ROWS FROM THE TOP": GOSUB 800
  60. 1400  PRINT "'HTAB 3' TABS 3 FROM THE WINDOW'S LEFT.": GOSUB 800
  61. 1410  PRINT "AT THIS POINT, LINE 300 PRINTS THE TITLE": GOSUB 800
  62. 1420  PRINT "IN LINE 400, 'TEXT' REMOVES THE WINDOW.": GOSUB 800
  63. 1430  PRINT "FINALLY, 'RETURN' RETURNS FROM THE ": PRINT "TITLE SUBROUTINE."
  64. 1435  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>          <CTRL-M>********************************<CTRL-M>  PRACTICE WITH POKES 32 - 35<CTRL-M>********************************<CTRL-M>  
  65. 1440  GOSUB 800
  66. 1450  GOSUB 2000
  67. 1460  GOSUB 3000
  68. 1465  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>          <CTRL-M>********************************<CTRL-M>             ENDING<CTRL-M>********************************<CTRL-M> 
  69. 1470  VTAB 8: INPUT "WANT TO TRY AGAIN?  ";AN$
  70. 1480  IF  LEFT$(AN$,1) = "Y"  THEN 1450
  71. 1500  VTAB 8: PRINT "THAT'S IT, FOLKS - BACK TO THE MAIN MENU"
  72. 1600  PRINT  CHR$(4);"RUN MENU"
  73. 1999  END 
  74. 2000  TEXT : HOME : VTAB 2: PRINT  SPC( 12);"NOW YOU TRY!": PRINT : PRINT "======================================="
  75. 2010  VTAB 5: PRINT "NOW YOU PICK A TEXT WINDOW...": PRINT 
  76. 2020  INPUT "FIRST, WHAT BACKGROUND SYMBOL? ";SYMBOL$
  77. 2030  PRINT : PRINT "HOW FAR OVER FROM THE LEFT OF THE SCREEN": CALL  -868: INPUT "SHOULD THE LEFT EDGE BE (0-39)? ";LFT$
  78. 2035  IF  VAL(LFT$) <0  OR  VAL(LFT$) >39  THEN  VTAB 8: GOTO 2030
  79. 2040  PRINT : CALL  -868: INPUT "HOW WIDE A WINDOW (1-40)? ";WIDTH$
  80. 2044  IF  VAL(WIDTH$) <1  OR  VAL(WIDTH$) >40  THEN  VTAB 12: GOTO 2040
  81. 2046  IF  VAL(WIDTH$) + VAL(LFT$) >40  THEN  VTAB 13: PRINT "YOUR WIDTH PLUS LEFT EDGE EXCEEDS 40!!": FOR D = 1 TO 2500: NEXT : VTAB 12: CALL  -875: GOTO 2040
  82. 2050  PRINT : PRINT "HOW FAR DOWN SHOULD THE TOP EDGE BE FROM"
  83. 2060  CALL  -868: INPUT "FROM THE TOP OF THE SCREEN (0-22)? ";TP$
  84. 2065  IF  VAL(TP$) <0  OR  VAL(TP$) >22  THEN  VTAB 17: GOTO 2060
  85. 2070  PRINT : PRINT "HOW FAR DOWN SHOULD THE BOTTOM EDGE": PRINT 
  86. 2080  CALL  -868: INPUT "BE FROM THE TOP OF THE SCREEN (1-24)? ";BOTTM$
  87. 2085  IF  VAL(BOTTM$) <1  OR  VAL(BOTTM$) >24  THEN  VTAB 18: GOTO 2070
  88. 2090  HOME : VTAB 6
  89. 2100  PRINT "HERE ARE YOUR CHOICES:": PRINT 
  90. 2110  HTAB 10: PRINT "LEFT:";: HTAB 20: PRINT LFT$: PRINT 
  91. 2120  HTAB 10: PRINT "WIDTH:";: HTAB 20: PRINT WIDTH$: PRINT 
  92. 2130  HTAB 10: PRINT "TOP:";: HTAB 20: PRINT TP$: PRINT 
  93. 2140  HTAB 10: PRINT "BOTTOM:";: HTAB 20: PRINT BOTTM$: PRINT : PRINT 
  94. 2150  INPUT "DO YOU WISH TO CHANGE THESE? ";AN$
  95. 2160  IF  LEFT$(AN$,1) = "Y"  THEN 2000
  96. 2170  HOME : RETURN 
  97. 3000  FOR I = 1 TO 24: FOR J = 1 TO 40: PRINT SYMBOL$;: NEXT : NEXT 
  98. 3010  POKE 32, VAL(LFT$)
  99. 3020  POKE 33, VAL(WIDTH$)
  100. 3030  POKE 34, VAL(TP$)
  101. 3040  POKE 35, VAL(BOTTM$)
  102. 3050  HOME 
  103. 3060  VTAB  VAL(TP$)
  104. 3065  CALL  -868
  105. 3070  PRINT "POKE 32,"; VAL(LFT$)
  106. 3080  PRINT "POKE 33,"; VAL(WIDTH$)
  107. 3090  PRINT "POKE 34,"; VAL(TP$)
  108. 3100  PRINT "POKE 35,"; VAL(BOTTM$);
  109. 3200  GET AN$
  110. 3300  TEXT : HOME : RETURN